package com.ff.ticket.service;

import com.ff.ticket.domain.User;

import java.util.List;

public interface IUserService {

    /**
     * 根据姓名查找用户
     * @param name 姓名
     * @return
     */
    public User findUserByName(String name);

    /**
     * 根据id查找用户
     * @param id
     * @return
     */
    public User findUserById(String id);

    /**
     * 根据帐号查找用户
     * @param account 帐号
     * @return
     */
    public User findUserByAccount(String account);

    /**
     * 更新用户信息
     * @param user 用户信息
     * @return
     */
    public User updateUser(User user);

    /**
     * 根据帐号给用户设置角色权限
     * @param account 用户帐号
     * @param list 角色列表(角色名字)
     */
    public void setUserRolesByAccount(String account,List<String> list);

    /**
     * 根据姓名给用户设置角色权限
     * @param name 用户帐号
     * @param list 角色列表（角色名字）
     */
    public void setUserRolesByName(String name,List<String> list);

    /**
     * 根据用户组搜索用户列表
     * @param group （业务员 /风控/保险/银行）
     * @return
     */
    public List<User> findUsersByGroup(String group);

    /**
     * 根据关键词搜索用户列表
     * @param tag 模糊搜索条件
     * @return
     */
    public List<User> findUsersByTag(String tag);

    /**
     * 根据关键词搜索用户列表
     * @param tab （类别: 业务员 /风控/保险/银行）
     * @param tag 模糊搜索条件
     * @return
     */
    public List<User> findUsersByGroupAndTag(String tab,String tag);

    /**
     * 删除账户
     * @param user
     * @return
     */
    public void deleteUser(User user);
}
